.d-flex {
    display: flex;

    &.flex-fdc {
        flex-direction: column;
    }

    &.flex-fdcr {
        flex-direction: column-reverse;
    }

    &.flex-fdr {
        flex-direction: row;
    }

    &.flex-fdrr {
        flex-direction: row-reverse;
    }

    &.flex-fww {
        flex-wrap: wrap;
    }

    &.flex-fwnw {
        flex-wrap: nowrap;
    }

    &.flex-jcc {
        justify-content: center;
    }

    &.flex-jcsb {
        justify-content: space-between;
    }

    &.flex-jcfe {
        justify-content: flex-end;
    }

    &.flex-jcfs {
        justify-content: flex-start;
    }

    &.flex-jcsad {
        justify-content: space-around;
    }

    &.flex-jcsev {
        justify-content: space-evenly;
    }

    &.flex-aic {
        align-items: center;
    }

    &.flex-aife {
        align-items: flex-end;
    }

    &.flex-aifs {
        align-items: flex-start;
    }

    &.flex-aish {
        align-items: stretch;
    }

    &.flex-aib {
        align-items: baseline;
    }

    &.flex-acc {
        align-content: center;
    }

    &.flex-acsb {
        align-content: space-between;
    }

    &.flex-acfe {
        align-content: flex-end;
    }

    &.flex-acfs {
        align-content: flex-start;
    }

    &.flex-acsad {
        align-content: space-around;
    }

    &.flex-acsev {
        align-content: space-evenly;
    }

    .flex-asc {
        align-self: center;
    }

    .flex-asfe {
        align-self: flex-end;
    }

    .flex-asfs {
        align-self: flex-start;
    }

    .flex-assh {
        align-self: stretch;
    }

    .flex-asb {
        align-self: baseline;
    }

    .flex-fx1 {
        flex: 1;
    }

    .flex-fs0 {
        flex-shrink: 0;
    }
}